iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

三十天考過AWS CCP證照,真awsome(重新報名版)系列 第 18

Day18:AWS Well-Architected架構

  • 分享至 

  • xImage
  •  

1.Well Architected 架構

Well Architected架構是為了要讓AWS的客戶再次評估和改善他們自己的架構,所以AWS的專家們開發了很多問題來協助客戶確實分析,並讓客戶們檢查自己的基礎設施是不是有符合最佳實務。為了這個目的,AWS有推出一個工具,叫做AWS Well-Architected Tool (AWS WA Tool),AWS WA Tool可以提供一致性的雲端服務,並且會根據最佳實務來提供改善的建議。另外AWS也開發了一份指南,協助客戶從五個不同的層面設計架構,這五個層面(支柱)分別是安全性、可靠性、效能達成效率、成本優化和卓越營運。

2.安全性層面

安全性就是著重在保護資料跟系統,同時也要透過風險評估來實現商業價值,根據官方白皮書,雲端的安全性是由五個領域所組成的:

  1. AWS Identity and Access Management (IAM)
    使用IAM可以建立和管理AWS的使用者,並可以對AWS的使用者進行存取權控制,讓使用者只能以您預期的方式進行存取,未來會有一天專門介紹IAM。

  2. 偵測控制
    偵測控制可以透過擷取日誌或讀取整個日誌的方式來識別淺在的安全事件,有助於保護工作負載。

  3. 基礎設施保護
    這可以確保架構或系統的安全,具體的做法可以是建立防火牆或閘道。

  4. 資料保護
    有很多方法可以保護資料,例如資料分類、資料加密或者是備份等等。

  5. 事件回應
    即使架構裡已經達到了完全的偵測還有預防的措施,事件回應還是必須的,這樣可以減少潛在的安全事件,並且確保架構獲得更新。

那在建立安全性架構時,還有三個必須要記住的設計原則:

  1. 所有層級都要都要確實實施安全措施
    在設計安全措施的時候要確保每個部分每一層都要受到保護,通常資料只要在實體的安全中心,都只會考慮到週邊的安全性,但在AWS中除了週邊,在資源與資源間也都可以實作安全性,確保每個資源彼此不受影響。

  2. 可追蹤性
    可以透過記錄在環境中的所有動作來達到追蹤的功效。

  3. 最低權限原則
    意思就是不能每個人的權限都一樣,每個部門僅需要有特定的權限就好。

  4. 專注保護系統
    AWS有一個模型叫共同的責任模型(Share Responsibility model),也就是AWS和AWS的客戶之中有共同的責任,AWS負責提供安全的基礎設施與服務,客戶則要專注在保護自己的應用程式資料及作業系統上,這個共同模型將有助於減輕客戶的操作負擔,未來幾天會有更詳細的介紹。

  5. 自動化
    自動化的目的是要以更快速且經濟實惠的方式安全地進行擴展。

3.可靠性層面

可靠性著重於預防故障及快速從故障中復原,那麼可靠性是由三個領域所組成的:

  1. 基礎
    學任何東西,只要基礎學得好,萬事沒煩惱。那在雲端的架構中也必須要有妥善規劃的基礎,以處理使用者的要求,同時也要能偵測異常及自動修復的功能。

  2. 變更管理
    如果有一天要變更系統,那必須要充分了解變更會對系統造成的影響,如果有長期的監控系統或者是有規劃過的話,就可以更可靠的調整變更。

  3. 故障管理
    要確保雲端的可靠性,關鍵就是要預期、回應和預防故障的發生,在AWS的雲端環境中,可以用自動化的方式自動監控系統。

接下來來談談可靠性層面的設計原則:

  1. 測試復原程序
    在開發時可以模擬會出現哪些故障,並且找出復原的程序,在實際發生故障時可以馬上修復,甚至在故障之前就做出反應。

  2. 自動復原
    前面也有許多章節有提到,AWS的服務可以設定當發生什麼特定情況時,就做出相對應的反應,這就是自動復原。

  3. 水平擴展
    如果今天有一個很大型的資源,那不應該讓這個資源持續擴大,而是以多個小型資源去取代這個大資源,這樣當一個小資源故障時對整體的影響就不大,但如果只有一個大資源,當發生故障時那會非常可怕,所以水平擴展可以增加總體資源的可用性。

  4. 不要猜測容量
    不要再去猜測這個專案要花多少容量,在AWS雲端環境中,可以自動的增加或移除資源,並且會保持擁有最佳的資源數量,減少過度佈建及佈建不足的問題,進而降低成本。

  5. 管理自動化變更
    應該要以動化的方式變更架構和基礎設施,這樣就只要去管理自動化變更,不用去管理每一個資源。

4.效能達成效率層面

效能達成效率層面著重於有效率地利用 IT 和運算資源,由四個領域所組成:

  1. 選擇
    選擇是指選擇解決方案,可以按照不同的服務類型來選擇或者自訂解決方案。

  2. 檢閱
    檢閱就是要持續追蹤是否有更好的解決方案,並善用最新的方法,達到最高效率。

  3. 監控
    在實作完架構後,監控是必須的,可以確保客戶在察覺問題前就先復原,AWS有提供幾個進行自動化監控的工具,例如:Amazon CloudWatch、 AWS Lambda、Amazon SQS 和 Amazon Kinesis。

  4. 權衡
    為了要確保可以提供更高的效能,有時候就必須要犧牲一致性、耐久性或者是時間等等,這就是權衡取捨。

接下來來談談效能達成效率層面的五個設計原則:

  1. 普及先進技術
    AWS已經負責完成複雜的雲端架構,這樣就可以直接運用這些新技術去開發系統。

  2. 快速進入全球市場
    前面有提到,AWS在全球有很多個區域及可用區域,只要使用AWS,就可以使用最低的成本,在全球多個區域部署系統

  3. 使用無伺服器架構
    如果資料放在地端,就需要位運算活動執行及維護伺服器,但放上雲端後,就可以省去這個部分的操作,並降低成本。

  4. 更頻繁的實驗
    在雲端一切都是虛擬化的,所以可以更快速地進行實驗,以提升效率。

  5. 對機械的理解
    AWS針對每項服務都有分類,使用者可以針對想要達成的目標,使用對應的技術,並且官方都有白皮書可以強會使用者對該項服務的理解。

5.成本優化層面
成本優化顧名思義就是要要避免不必要的成本,此層面的概念包括操作成本和最大化投資報酬率,構成成本優化支柱的四個領域包括:

  1. 使用符合經濟效益的資源
    完全成本優化的系統會使用所有資源以最低的價格達到最佳結果,這是節省成本的關鍵。

  2. 供需平衡
    前面也提到很多次,使用AWS可以更彈性的調整資源,也就是隨著需求變化自動調整規模,把成本壓低。

  3. 提高支出感知
    必須要充分掌握該系統會造成的成本,所以只要可以查看及分析成本,並且預測未來成本,那就可以增強雲端架構的成本優化。

  4. 隨時間優化
    可以使用不同的工具對從AWS平台收集到的資料進行測量以便改善架構。

接下來來談談成本優化層面的設計原則:

  1. 採用消費模型
    使用消費模型就可以依使用的運算付費。

  2. 測量整體效率
    測量效率非常重要,藉由測量可以應該是要增加輸出或降低成本以提高獲利。

  3. 減少資料中心花費
    使用AWS就不需要再處理伺服器繁雜的工作,把更多的預算花在專案上。

  4. 支出分析及歸屬
    使用AWS可以更準確地識別系統的使用情況和成本。

  5. 使用受管服務
    AWS提供很多受管服務,它能夠針對傳送電子郵件或管理資料庫等任務,免去維護伺服器的操作重擔,達到降低成本的目的。

6.卓越營運層面
卓越營運層面著重於透過執行和監控系統,透過持續的改善流程來提高提供商業價值,而在卓越營運層面背後有一些重要的概念包括,管理和自動化變更、回應事件及定義標準,這三項前面都有做說明了,在此就不多做解釋。

7.考前重點大補帖

⦁ AWS Well Architected 架構旨在協助客戶評估及改善架構

⦁ AWS WA Tool可以提供一致性的雲端服務,並且會根據最佳實務來提供改善的建議

⦁ AWS 開發了一份指南,由五個不同的層面(或稱支柱)來設計最佳的實務,這五個層面分別為安全性、可靠性、效能達成效率、成本優化和卓越營運。

IAM 可確保只有已授權的使用者能存取資源,而且只能以預期的方式進行存取。

⦁ 可以建立網路邊界強化及修補應用程式防火牆或閘道來達到基礎措施保護。

⦁ 可透過資料分類、加密、備份,以及視需要進行複寫來達到資料保護。

⦁ 即使採用所有的預防和偵測措施,組織仍應該建立事件回應程序

事件回應可確保您的架構獲得更新,及時進行復原調查。

⦁ 使用AWS能在資源內部和之間實作安全性,這樣可確保個別環境不會受彼此影響

⦁ 使用 AWS 共同的責任模型,您可以很明確地專注在保護您的應用程式資料,由AWS提供安全的基礎措施及服務。

⦁ 要確保架構的可靠性,關鍵是預期、回應和預防故障的發生。

⦁ 在AWS使用者可測試系統如何失敗,並確認復原程序

水平擴展可以增加總體系統的可用性

⦁ 完全成本優化的系統會使用所有資源以最低的價格達到最佳結果,同時仍然滿足所有的功能需求

8.經典歷屆試題

單選題

  1. 從本地的數據中心轉移到雲端的優勢為以下何者?
    A. 企業可以完全消除IT成本
    B. 可讓企業在其每個客戶的數據中心放置一台伺服器
    C. 企業可專注於業務活動
    D. 可讓企業執行未執行補充程式(unpatched)的伺服器
    正解:C

  2. 開發人員可通過何種AWS IAM功能來使用AWS CLI訪問AWS服務?
    A. API keys
    B. Access keys
    C. 使用者名稱及密碼
    D. SSH keys
    正解:B

《詳解》
登入AWS管理主控台確實需要的是使用者名稱及密碼,但若要透過AWS CLI訪問AWS服務還另需要Access keys。

  1. 下列何者為使用AWS的好處?
    A. 較寬鬆的安全性減少管理上的負擔
    B. 專注於創新
    C. 可以控制雲端網路的硬體設施
    D. 可以選擇特定的雲端硬體設施供應商
    正解:B

  2. 管理人想要快速部署流行的IT解決方案並立即使用,他可以從哪裡得到幫助?
    A. AWS Well-Architected架構文件
    B. Amazon CloudFront
    C. AWS CodeCommit
    D. AWS快速部署參考(AWS Quick Start reference deployments)
    正解:D


上一篇
Day17:Amazon CloudFormation
下一篇
Day19:高可用性及容錯能力
系列文
三十天考過AWS CCP證照,真awsome(重新報名版)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言